|
(*~\Глагол\Отделы\Поле~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**) ОТДЕЛ Крестик;
(*============================================================================*
* НАЗНАЧЕНИЕ: крестик - потомок надела
*============================================================================*)
ИСПОЛЬЗУЕТ
Надел,
Поле,
Цепь ИЗ "..\Иное\",
Окно ИЗ "..\Обмен\",
Ввод ИЗ "..\Обмен\";
ВИД
Доступ-=ДОСТУП К Вид;
Вид-=НАБОР(Надел.Вид)
надпись:Надел.Надпись;
буквица:ЦЕЛ;
отмечен+:КЛЮЧ
КОН;
Посылка-=НАБОР(Ввод.Посылка)
крестик-:Доступ
КОН;
(******************************************************************************)
ЗАДАЧА Отрисовка(крестик:Доступ);
УКАЗ
ЕСЛИ крестик.отмечен ТО
крестик.надпись[1]:="х"
ИНАЧЕ
крестик.надпись[1]:=" "
КОН;
Надел.ВыводНадписи(крестик,крестик.надпись,0);
ЕСЛИ крестик.состояние = Надел.сВыбран ТО
Окно.ПереместитьУказку(крестик.вс,крестик.лк+1);
Окно.РазмерУказки(15)
КОН
КОН Отрисовка;
(******************************************************************************)
ЗАДАЧА Работа(крестик:Доступ);
ПЕР
посылка:Посылка;
поле:Поле.Доступ;
УКАЗ
крестик.отмечен:=НЕ крестик.отмечен;
Отрисовка(крестик);
(* обратная связь *)
поле:=крестик.поле(Поле.Доступ);
посылка.крестик:=крестик;
поле.Приём(поле,посылка)
КОН Работа;
(******************************************************************************)
ЗАДАЧА Приём(надел:Надел.Доступ; посылка+:Ввод.Посылка);
ПЕР
крестик:Доступ;
УКАЗ
крестик:=надел(Доступ);
ДЛЯ посылка ВИДА
| Поле.Отрисовка:
Отрисовка(крестик)
| Ввод.ОтМышки:
ЕСЛИ посылка.события = {} ТО
(* просто нажали мышку *)
Работа(крестик)
КОН
| Ввод.ОтКлавиш:
ЕСЛИ посылка.знак = ' ' ТО
Работа(крестик);
посылка.код:=0
КОН
| Поле.Буквица:
ЕСЛИ посылка.буквица = крестик.буквица ТО
Работа(крестик);
посылка.буквица:=0
КОН
ИНАЧЕ
КОН
КОН Приём;
(******************************************************************************)
ЗАДАЧА Создать-(верх,лево:ЦЕЛ; цепь-:ЦЕПЬ):Доступ;
ПЕР
крестик:Доступ;
надпись:Надел.Надпись;
колонок:ЦЕЛ;
УКАЗ
СОЗДАТЬ(крестик);
надпись:="[ ] ";
Цепь.Добавить(надпись,цепь);
Надел.СчитатьНадпись(надпись,крестик.надпись,колонок,крестик.буквица);
Надел.Подготовить(крестик,верх,лево,1,колонок,{Надел.прВыбираемый},Приём);
ВОЗВРАТ крестик
КОН Создать;
КОН Крестик.
|
|